# nsm
# MetaQA 1hop/ 2hop/ 3hop/ datasets use the same parameters, you can just modify the <--data_folder>, <--experiment_nam>, <--checkpoint_dir> to run new exp
CUDA_VISIBLE_DEVICES=0 python main_nsm.py --name MetaQA --model_name gnn --mode student --data_folder /home/hegaole/data/KBQA/MetaQA/3-hop/big/ --checkpoint_dir checkpoint/pretrain/ --batch_size 80 --test_batch_size 80 --num_step 3 --entity_dim 80 --word_dim 300 --kg_dim 80 --eval_every 1 --experiment_name MetaQA_3hop_nsm --eps 0.95 --num_epoch 10 --train_KL --use_self_loop --use_inverse_relation --lr 5e-4 --q_type seq --word_emb_file word_emb_300d.npy --encode_type --reason_kb --loss_type kl

# hybrid teacher-student
CUDA_VISIBLE_DEVICES=0 python main_teacher.py --model_name gnn --teacher_type hybrid --data_folder /gaolehe/data/KBQA/MetaQA/3-hop/big/ --checkpoint_dir checkpoint/3hop_teacher/ --batch_size 80 --test_batch_size 80 --num_step 3 --entity_dim 80 --word_dim 300 --kg_dim 80 --eval_every 1 --experiment_name 3hop_hybrid_teacher --eps 0.95 --num_epoch 10 --train_KL --use_self_loop --use_inverse_relation --lr 5e-4 --q_type seq --word_emb_file word_emb_300d.npy --encode_type --reason_kb --loss_type kl --lambda_constrain 0.01 --lambda_back 0.1
CUDA_VISIBLE_DEVICES=0 python main_student.py --model_name gnn --teacher_model gnn --teacher_type hybrid --data_folder /gaolehe/data/KBQA/MetaQA/3-hop/big/ --checkpoint_dir checkpoint/3hop_student/ --batch_size 80 --test_batch_size 80 --num_step 3 --entity_dim 80 --word_dim 300 --kg_dim 80 --eval_every 1 --experiment_name 3hop_gnn_student_parallel --eps 0.95 --num_epoch 10 --train_KL --use_self_loop --use_inverse_relation --lr 5e-4 --q_type seq --word_emb_file word_emb_300d.npy --encode_type --reason_kb --loss_type kl --load_teacher ../3hop_teacher/3hop_teacher_parallel_gnn-final.ckpt --lambda_label 0.01

# parallel teacher-student
CUDA_VISIBLE_DEVICES=0 python main_teacher.py --model_name gnn --teacher_type parallel --data_folder /gaolehe/data/KBQA/MetaQA/3-hop/big/ --checkpoint_dir checkpoint/3hop_teacher/ --batch_size 80 --test_batch_size 80 --num_step 3 --entity_dim 80 --word_dim 300 --kg_dim 80 --eval_every 1 --experiment_name 3hop_parallel_teacher --eps 0.95 --num_epoch 10 --train_KL --use_self_loop --use_inverse_relation --lr 5e-4 --q_type seq --word_emb_file word_emb_300d.npy --encode_type --reason_kb --loss_type kl --lambda_constrain 0.01 --lambda_back 0.1
CUDA_VISIBLE_DEVICES=0 python main_student.py --model_name gnn --teacher_model gnn --teacher_type hybrid --data_folder /gaolehe/data/KBQA/MetaQA/3-hop/big/ --checkpoint_dir checkpoint/3hop_student/ --batch_size 80 --test_batch_size 80 --num_step 3 --entity_dim 80 --word_dim 300 --kg_dim 80 --eval_every 1 --experiment_name 3hop_parallel_student --eps 0.95 --num_epoch 10 --train_KL --use_self_loop --use_inverse_relation --lr 5e-4 --q_type seq --word_emb_file word_emb_300d.npy --encode_type --reason_kb --loss_type kl --load_teacher ../3hop_teacher/3hop_parallel_teacher-final.ckpt --lambda_label 0.01



